import 'package:rpc/rpc.dart';

import 'menu.dart';

class LoyResponse {
  String result;
  LoyResponse();
}

class LoyResourceResponse {
  String result;
  LoyResourceResponse();
}

class NestedResponse {
  String nestedResult;
  NestedResponse();
}

class LoyMapResponse {
  String result;
  Map<String, NestedResponse> mapResult;

  LoyMapResponse();
}

class MenusMapResponse {
  String result;
  Map<String, String> mapResult;

  MenusMapResponse();
}

@ApiClass(name: 'LoyApi', version: 'v1')
class LoyApi {

  LoyApi();

  @ApiMethod(path: 'Menus')
//  LoyMapResponse helloNestedMap() {
//    var map = {
//      'Home': new NestedResponse()..nestedResult = 'somethingNested',
//      'Forum': new NestedResponse()..nestedResult = 'somethingNested',
//      'About': new NestedResponse()..nestedResult = 'someotherNested'
//    };
//    return new LoyMapResponse()
//      ..result ='foo'
//      ..mapResult = map;
//  }
  MenusMapResponse helloNestedMap() {
    var map = {
      'Home': 'home link',
      'Forum': 'forum link',
      'About': 'about link'
    };
    return new MenusMapResponse()
      ..result ='menus'
      ..mapResult = map;
  }
}